﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ForrajeriaDB; //ESTE USING VA EN TODOS LOS ELEMENTOS DE ESTA CAPA
using System.Data;
using System.Data.SqlClient;

namespace ForrajeriaDAL
{
    public class PedidoProveedorDAL : AccesoDAL, InterfazDAL<PedidoProveedorMO>
    {
        #region VARIABLES PARA STORED QUE MANEJA EL OBJETO DE DAL

        private static string insert = "PedidoProveedor_INSERT";
        private static string delete = "PedidoProveedor_DELETE";
        private static string update = "PedidoProveedor_UPDATE";
        private static string all = "PedidoProveedor_GetALL";
        private static string getXID = "PedidoProveedor_GetByID";
        private static string allRegistrar = "PedidoProveedor_GetALLRegistrar";

        #endregion


        public List<PedidoProveedorMO> GetAll()
        {
            throw new NotImplementedException();
        }

        public void Adicionar(PedidoProveedorMO item)
        {
            throw new NotImplementedException();
        }

        public void Eliminar(PedidoProveedorMO item)
        {
            throw new NotImplementedException();
        }

        public void Actualizar(PedidoProveedorMO nuevoItem, PedidoProveedorMO origItem)
        {
            throw new NotImplementedException();
        }

        public int AdicionarRetorno(PedidoProveedorMO item)
        {
            try
            {
                item.NumeroPedido = getCodigoInsert("PedidoProveedor", "nroPedido");

                SqlCommand cmd = new SqlCommand(insert, getConexion());
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add("@nroPedido", SqlDbType.Int).Value = item.NumeroPedido;
                cmd.Parameters.Add("@fechaPedido", SqlDbType.DateTime).Value = item.FechaPedido;
                cmd.Parameters.Add("@codProveedor", SqlDbType.Int).Value = item.CodProveedor;
                cmd.Parameters.Add("@estadoPedido", SqlDbType.VarChar, 10).Value = item.EstadoPedido;

                opencon();

                cmd.ExecuteNonQuery();

            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                closecon();
            }

            return item.NumeroPedido;
        }

    }
}
